package cn.lxycx.dataterrace.util;

import java.util.List;
import java.util.Map;

import lxycx.util.validate.RegexPro;
import lxycx.util.validate.Validate.Ret;

 
public class FormVerifys{
	String key,value,reg,msg;
	boolean allowNull;
	int res;
	
	/**
	 * 参数校验
	 * @param key 参数名
	 * @param value 值
	 * @param allowNull 允许空
	 * @param res 校验不通过返回状态
	 * @param msg 校验不通过返回提示信息
	 * @param reg 校验正则表达式
	 */
	public FormVerifys(String key,String value,boolean allowNull,int res,String msg,String reg){
		this.key = key;
		this.value = value;
		this.allowNull = allowNull;
		this.reg = reg;
		this.res = res;
		this.msg = msg;
	}

	public static Ret Valuedate(List<FormVerifys> fl,Map<String,String> param){
		for(FormVerifys f:fl){
			if((f.reg==null&&f.value!=null&&!"".equals(f.value))||(!"".equals(f.value)&&RegexPro.pattern(f.reg, f.value)!=null)){//校验通过
				param.put(f.key, f.value);
			}else{//校验不通过
				if((f.value!=null&&!"".equals(f.value))||!f.allowNull){//如果当前值不等于空 或者 不允许为空
					return new Ret(false, f.res, f.msg);
				}
			}
		}
		return new Ret(true,1,"校验通过");
	}
}
